package com.shensi.appCollect.service;

import com.shensi.appCollect.pojo.AppUserInfo;
import com.shensi.appCollect.pojo.vo.UserInfoVo;

import java.util.List;
import java.util.Map;

public interface AppUserInfoService {


    public void increaseShareCount(Long userId);
    public Integer getShareCountByUserId(Long userId);

    //根据用户memberCode获取用户信息
    AppUserInfo getAppUserInfoByMemberCode(AppUserInfo appUserInfo);

    //更新用户积分
    void updateAppUserIntegral(AppUserInfo appUserInfo);

    //获取用户信息
    AppUserInfo getAppUserInfoAndBalance(AppUserInfo appUserInfo);

    //根据手机号和油站ID获取用户信息
    List<AppUserInfo> selectAppUserInfoByMobilePhoneAndStationId(AppUserInfo appUserInfo);

    //获取用户信息
    AppUserInfo getAppUserInfo(AppUserInfo appUserInfo);

    //添加信息
    void addAppUserInfo(AppUserInfo appUserInfo);



    List<String>  checkUserCoupon(AppUserInfo appUserInfo);

    //更新用户资料
    void updateAppUserInfo(AppUserInfo appUserInfo);

    void updateAppUserInfoByBlogOpenid(AppUserInfo appUserInfo);

    void updateAppUserInfoByUnionId (AppUserInfo appUserInfo);

    void updateAppUserInfoByUserId (AppUserInfo appUserInfo);

//    String getCodeUrl(String appId);

    //判断使用小程序支付的用户是否关注公众号
    String whetherFollowGzh(Map map);


    List<AppUserInfo> selectAppUserInfoByStationId(Long stationId);

    AppUserInfo getById(Integer id);

    UserInfoVo getOrCreateUserInfo(String openId, String nickName, Integer enterpriseId);

    int deleteUserInfoById(Integer id);

    int updateById(AppUserInfo appUserInfo);

    AppUserInfo selectAppUserInfoById(Long userId);

    int countByExample(AppUserInfo appUserInfo);

    List<AppUserInfo> queryPageByExample( AppUserInfo userInfo, int offset, int limit);
}
